package com.zhuqi.redis.hash;

import cn.hutool.core.lang.Console;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.HashOperations;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;

/**
 * @author : ZhuQi
 * @version : 时间:2022/1/7 17:13 版本:
 * 测试 Hash 数据结构
 */
@Component
public class HashRedisService {

//
//    @Autowired
//    private StringRedisTemplate stringRedisTemplate;

    @Autowired
    private RedisTemplate redisTemplate;

    /**
     * 测试内容: hash 数据结构的简单命令
     */
    public void test1() throws Exception {
        User user = new User("12312", 10);

        // 拿到Hash操作对象
        HashOperations<String, Object, Object> hashRedis = redisTemplate.opsForHash();

        // 设置hash数据类型的数据。参数1：对应数据的key 参数2：数据的健 参数3：数据的值
        hashRedis.put("zhuqi", "name", user.getName());
        hashRedis.put("zhuqi", "age", user.getAge());

        // 获取当前key的容器大小
        Long zhuqi = hashRedis.size("zhuqi");
        Console.log("现在hash的长度", zhuqi);

        Console.log("当前用户的年龄:{}", hashRedis.get("zhuqi", "age"));
        Console.log("当前用户的年龄:{}", hashRedis.get("zhuqi", "age"));
    }



}
